// 《js 基础》
// js 的输出
// output()
function output() {
    console.log("我是console.log");
    alert("我是弹窗");  //  需要在浏览器中运行，使用node运行会报错；
}

// js 的语句  JavaScript 语句是发给浏览器的命令。
// statemen()
function statemen() {
    document.getElementById("demo").innerHTML = "js添加文字";  //  需要在浏览器中运行，使用node运行会报错；
}


// js 变量
// jsVar()
function jsVar() {
    /* 
    变量是用于存储信息的容器 (js对变量的大小写很敏感);
    变量可存储多种数据类型
    可以在一条语句中声明很多变量，该语句以 var 开头，并使用逗号分隔变量即可；
*/
    var car; // 声明变量
    console.log(car) // undifined
    car = "变量1"; // 变量赋值
    console.log(car) // "变量1"
    var cha = "变量2" //  声明并赋值
    console.log(cha) // "变量2"
    // 变量存储不同类型的数据
    var num = 123;
    console.log(typeof num, num); // number,123
    var str = '字符串';
    console.log(typeof str, str); // string,'字符串'
    var bol = true;
    console.log(typeof bol, bol); // boolean,true
    var udf = undefined;
    console.log(typeof udf, udf); // undefined,undefined
    var nan = null;
    console.log(typeof nan, nan); // object,null
    var obj = {};
    console.log(typeof obj, obj); // object,{}
    // 同时声明多个变量
    var name_ = "孔堆堆",
        age = 5,
        beautiful = true;
    console.log("我是" + name_ + "我" + age + "岁了", beautiful); // "我是孔堆堆我5岁了" true
    // 跨越多行声明
    var names_ = "bb",
        ages = 21,
        beautifuls = false;
    console.log("我是" + names_ + "我" + ages + "岁了", beautifuls); // "我是bb我21岁了" false
    // 多个变量无法同时赋值
    var test1, tset2, tset3 = 1;
    console.log(test1, tset2, tset3) // undefined, undefined, 1
}


// js 数据类型
function dataType() {
    /* 
        值类型(基本类型)：字符串（String）、数字(Number)、布尔(Boolean)、对空（Null）、未定义（Undefined）、Symbol。
        引用数据类型：对象(Object)、数组(Array)、函数(Function)。
        注： 1、Symbol 是 ES6 引入了一种新的原始数据类型，表示独一无二的值。
            2、NaN的类型是一个number，代表不是数值类型。
        
    */
    // js拥有动态类型;
    var x;  // undefined
    var x = 5; // number
    var x = "John"  // string
    // js string类型
    var str1 = "kong to cheng";  // 双引号
    var str2 = 'kong to cheng';  // 单引号
    var str3 = "kong 'to' cheng";  // 可同时使用单引号和双引号

    // js number类型
    var num = 1;      // 整数
    var float = 0.1;  // 小数
    // 极大数和极小数
    var numMax = 123e5;  // 12300000
    var numMin = 123e-5; // 0.00123

    // js boolean类型 注：布尔值只有true、false;
    var x = true;
    var y = false;

    // js null类型 注：只有一个值null 
    var nll = null  // 表示该变量的值不是有效的对象,数组，数字，字符串和布尔值。null对应类型Object，布尔值false，数字0，字符串“null”;

    // js undefined类型 表示未定义
    var uef = undefined  // 表示该变量的值是未定义;
}

if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
    document.write("移动")
} else {
    document.write("PC")
}